访问电脑版页面

导航:老古开发网手机版51单片机

如何利用MCS-51单片机对周期波频率进行测量

导读:
关键字:
MCS-51单片机,LED显示器,

对于周期波频率的测量方法很多,但大多是通过测量间接计算频率。本文介绍了用目前应用比较广泛的MCS-51系列单片机对周期波频率进行测量,并通过LED以数字形式直观地示出频率,实现测量的智能化,省去间接对频率计算的麻烦与错误。文章对其测量原理,设计和实现作了说明,介绍了主要程序,并进行了误差分析。

目前单片机广泛应用到国民经济建设和日常生活的许多领域,成为测控技术现代化不可缺少的重要工具。而本文适应这一发展趋势,把MCS-51系列单片机应用于对周期波频率的测量,并通过LED显示器自动显示出来,这对于频率的测量带来了极大的方便。

设计思想

利用施密特触发器将边缘缓慢变化的周期性信号如正弦波、三角波或任意形状的模拟信号变换成同频率的矩形脉冲。通过MCS-51系列单片机内部的两个十六位定时/计数器测量某段时间内的外加脉冲数,经过处理并通过LED直接显示出所加信号的频率。单片机内部的TO用来定时,Tl用来计数(下降沿触发)。当来一个计数脉冲则计数一次。在TO开始定时的同时,T1开始计数;TO定时1s时间到时,T1停止计数。方框图如下图所示。

如何利用MCS-51单片机对周期波频率进行测量

硬件设计

如何利用MCS-51单片机对周期波频率进行测量

测量频率的硬件电路主要由计数脉冲形成电路和计数显示电路两大部分组成。计数脉冲形成电路用“555”定时器接成施密特触发器对外加的周期波进行变换,使之输出为矩形脉冲。电路如上图所示,计数显示电路如下图所示,主要包括:

如何利用MCS-51单片机对周期波频率进行测量

(1)由INTEL公司生产、晶振频率为12MHz的89S02单片机。通过软件编程使它内部的定时器TO定时,Tl对外部的所加脉冲计数。然后把测量结果值通过PO口输出。89S02自带8K闪存,可以有90~100个现场测量数据,供回放调检。

(2)4位七段共阴极的LED显示器。

(3)由于采用的是4位共阴极的动态扫描方式显示,段代码由89S02的PO口提供,位选线则由89S02P2口的P2.0~P2.3提供。由于89S02的输入,输出口不能提供足够的灌电流,因此用G1~G4提供给LED足够的显示电流。

软件设计

用MCS-51单片机测量频率的程序主要包括:初始化程序,定时计数程序、LED显示程序。初始化程序略。定时计数主要程序:

如何利用MCS-51单片机对周期波频率进行测量

如何利用MCS-51单片机对周期波频率进行测量

测量范围

在上述程序下的最大测量频率为255Hz。适当调整程序后的最大测量频率可为89S02主频的1/12,但在保证测量精度的前提下最大测量频率宜安排在主频的1/100以下。

误差分析

上述程序的最大测量频率为255Hz,由于单片机在响应中断的时候有2~6个机器周期,按最大误差计算,6-2=4个机器周期,在1s钟中断响应一共发生20次,最不利的累计误差时间为4×20=80微秒,因此在此程序下的最大误差为80/1000000=0.08/1000,这样的精度完全能满足现场检测的需要。

来源:工程师周亮   作者:lhl545545  2019/4/18 15:33:00
栏目: [ 51单片机]

相关阅读

学C51的基础 11《 枚 举(enum) 》作者[cmh]©

16X2字符型液晶显示模块的驱动

C51怎样在绝对地址定义变量呢?  

AT89S52的中文简介

pdata型变量是如何分页的,如果我想把pdata型变量定义到eram的>256字节的高地址,怎样用P2口输入地址

有关单片机ALE引脚的问题

c51单片机实用通信协议

51内核8位单片机MAX7651的开发环境

学C51的基础 8 《 控制流程语句 》 作者[cmh]©

数字温度传感器DS18B20的原理与应用

51单片机与PC机通信的设计

51单片机常见的7种时钟电路介绍

51单片机自然优先级与中断服务入口地址的设置

volatile的作用是什么 作者[hudaidai]©

AT89C51单片机与74LS164动态显示接口

51单片机实现显示器显示日历与时钟和温度的设计

学C51的基础4 《 变 量 》 作者[cmh]©

学C51的基础5《 运算符 》 作者[cmh]©

如何利用MCS-51单片机对周期波频率进行测量

linux环境下如何开发51单片机 基于codeblocks和SDCC